import 'package:flutter/material.dart';

import 'package:get/get.dart';
import 'package:getx_learn/app/common/widgets/widgets.dart';

import '../controllers/bindings_demo_controller.dart';

class BindingsDemoView extends GetView<BindingsDemoController> {
  const BindingsDemoView({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: getAppBar(context: context, title: "BindingsDemoView"),
      body: ListView(
        children: [
          Text("""
          https://liujunmin.com/flutter/getx/getx_binding.html#getx-binding
          
          在我们使用GetX状态管理器的时候，往往每次都是用需要手动实例化一个控制器，这样的话基本页面都需要实例化一次，
          这样就太麻烦了，而Binding 能解决上述问题，可以在项目初始化时把所有需要进行状态管理的控制器进行统一初始化
          
          """),

          Obx(() => Text(
            "计数器的值为 ${Get.find<BindingsDemoController>().count}",
            style: TextStyle(color: Colors.red, fontSize: 30),
          )),
          SizedBox(height: 20,),
          ElevatedButton(
              onPressed: () {
                Get.find<BindingsDemoController>().increment();
              },
              child: Text("点击加1")
          ),

        ],
      ),
    );
  }
}
